package algo3.pruebas.partesTest;
import junit.framework.TestCase;
import algo3.modelo.Posicion;
import algo3.modelo.armas.Danio;
import algo3.modelo.armas.DisparoConvencional;
import algo3.modelo.armas.Mina;
import algo3.modelo.armas.MinaSubmarinaDobleConRetardo;
import algo3.modelo.partes.ParteBarco;
import algo3.modelo.partes.ParteRompeHielos;

public class ParteRompeHielosTest extends TestCase {

	public void testRecibeUnDisparoDirecto(){
		Posicion pos = new Posicion(0, 0);
		ParteBarco unaParte = new ParteRompeHielos(pos);
		unaParte.recibirDanio(new Danio(pos, DisparoConvencional.class));
		assertEquals(1, unaParte.getDurabilidad());
	}
	
	public void testRecibeDosDisparosDirectos(){
		Posicion pos = new Posicion(0, 0);
		ParteBarco unaParte = new ParteRompeHielos(pos);
		unaParte.recibirDanio(new Danio(pos, DisparoConvencional.class));
		unaParte.recibirDanio(new Danio(pos, DisparoConvencional.class));
		assertEquals(0, unaParte.getDurabilidad());
	}
	
	public void testRecibeDanioDeUnaMina(){
		Posicion pos = new Posicion(0, 0);
		ParteBarco unaParte = new ParteRompeHielos(pos);
		unaParte.recibirDanio(new Danio(pos, Mina.class));
		assertEquals(1, unaParte.getDurabilidad());
	}
	
	public void testRecibeDanioDeUnaMinaYUnaMinaSubmarina(){
		Posicion pos = new Posicion(0, 0);
		ParteBarco unaParte = new ParteRompeHielos(pos);
		unaParte.recibirDanio(new Danio(pos, MinaSubmarinaDobleConRetardo.class));
		unaParte.recibirDanio(new Danio(pos, Mina.class));
		assertEquals(0, unaParte.getDurabilidad());
	}
	
}

